/*
Problem Id:1014  User Id:tq 
Memory:24K  Time:15MS
Language:C++  Result:Accepted

author: TangQiao @ Wind 

	problem name: Eeny Meeny Moo

	source : ULM 1996

	problem type: 递推 数学题
	problem description: 找出1~149中,按N个数,最后留下的是第二个数,N的最值.

	problem solution: 如果两个两个数,当总数为3时,留下第1个(从0编号),那当总数为4时,留下的为:
					  site=(1+site)%(4-1)+1; 这样递推下去.把按两个两个数的留下为第1个的情况都
					  存下来,再算三个三个数的情况.一直算到1~149个数的结果都出来为止.从答案来看
					  会算到400多. an[140]=411

	award & note :  此题也可用搜索,不过应该用指针实现链表,不然指针移动会花大量时间而造成超时.

	date : 2005.5.20 北师大校队个人选拨赛2

*/
#include <stdio.h>
#include <string.h>
#include <math.h>

int an[151];

main()
{
	int i;
	int num=2;
	int n;

	int site;
	
	int step = 2;

	memset(an, 0, sizeof(an));

	while (num < 149)
	{		
		site=1+step%2;
		if (site==1 && an[3]==0) 
		{
			an[3]=step;
			num++;
			if (num==149) break;
		}
		
		for (i=4; i<=149; i++)
		{
			site=(step-1+site)%(i-1)+1;
			if (site==1 && an[i]==0) 
			{
				an[i]=step;
				num++;
				if (num==149) break;
			}			
		}

		step++;		
	}

	while (1)
	{
		scanf("%d", &n);
		if (n==0) break;	
		printf("%d\n",an[n]);
	}

	return 0;
}
